//
//  main.m
//  NSMutableArray
//
//  Created by admin on 2019/8/8.
//  Copyright © 2019 猫爷爷的酱醋茶. All rights reserved.
//

/*
 NSMutableArray的初始化
 
     NSMutableArray *arrayOne = [NSMutableArray new];
     NSMutableArray *arrayTwo = [[NSMutableArray alloc]init];
     NSMutableArray *arrayThree = [NSMutableArray array];
 
     这一些在都不再是没有意义的了，因为可以对数组进行新增和删除。
 
    注意：这样的初始化是不对的，因为@[@“”]这是NSArray的对象，是父类独有对象
        NSMutableArray *arr = @[@"jack",@"rose",@"Maoyeye"];
 
 
 指定下标处插入元素
    - (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;
 
 
 关于数组的面试题
 NSMutableArray *a1 = [NSMutableArray array];
 NSMutableArray *a2 = [NSMutableArray arrayWithCapacity:20];
 
 - a1和a2有什么区别，应该如何使用？
 a）使用可变数组的时候，如果知道数组的容量，应该使用Capacity实例化数组，一次性分配空间
 b）应用场景：从网络获取json字典数组，字典转模型，变成模型数组（容量可以根据字典数组容量获取）
 
 
 
 
 */

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSMutableArray *arrayOne = [NSMutableArray new];
    NSMutableArray *arrayTwo = [[NSMutableArray alloc]init];
    NSMutableArray *arrayThree = [NSMutableArray array];
    
    NSLog(@"%lu",arrayOne.count);
    //向可变数组添加元素单个元素
    [arrayOne addObject:@"jack"];
    NSLog(@"arrayOne =%@,count = %lu",arrayOne,arrayOne.count);
    
    NSArray *array = @[@"jack",@"rose",@"Maoyeye"];
    //从另一数组中提取单个元素赋值给可变数组
    [arrayTwo addObjectsFromArray:array];
    NSLog(@"arrayTwo = %@",arrayTwo);
    
    NSMutableArray *arrayFour = [NSMutableArray arrayWithObjects:@"jack",@"rose",@"Maoyeye",@"dudu", nil];
    //在指定下标处插入元素
    [arrayFour insertObject:@"love" atIndex:2];
    NSLog(@"%@",arrayFour);
    
    [arrayFour removeObject:@"love"];
    NSLog(@"%@",arrayFour);
    
    return 0;
}
